package co.edu.usbcali.sgi.modelo.dto;

import co.edu.usbcali.sgi.modelo.Reserva;
import co.edu.usbcali.sgi.presentation.backEndBeans.ReservaView;

import java.io.Serializable;

import java.util.Date;

import javax.faces.event.ActionEvent;


/**
*
*
* @author Zathura Code Generator http://code.google.com/p/zathura
*
*/
public class ReservaDTO implements Serializable {
    private static final long serialVersionUID = 1L;
    private String estCod_Estado;
    private String proInmCod_PropietarioInmueble;
    private String zcCod_ZonaComun;
    private String resCod;
    private Date resFecha;
    private Date resHoraFinal;
    private Date resHoraInicio;
    private boolean rowSelected = false;
    private ReservaView reservaView;
    private Reserva reserva;

    public Reserva getReserva() {
        return reserva;
    }

    public String listener_update(ActionEvent e) {
        try {
            reservaView.action_modifyWitDTO(((resCod == null) ||
                resCod.equals("")) ? null : new String(resCod),
                ((resFecha == null) || resFecha.equals("")) ? null : resFecha,
                ((resHoraFinal == null) || resHoraFinal.equals("")) ? null
                                                                    : resHoraFinal,
                ((resHoraInicio == null) || resHoraInicio.equals("")) ? null
                                                                      : resHoraInicio,
                ((estCod_Estado == null) || estCod_Estado.equals("")) ? null
                                                                      : new String(
                    estCod_Estado),
                ((proInmCod_PropietarioInmueble == null) ||
                proInmCod_PropietarioInmueble.equals("")) ? null
                                                          : new String(
                    proInmCod_PropietarioInmueble),
                ((zcCod_ZonaComun == null) || zcCod_ZonaComun.equals(""))
                ? null : new String(zcCod_ZonaComun));
            rowSelected = !rowSelected;
        } catch (Exception ex) {
            return "";
        }

        return "";
    }

    public void listener_cancel(ActionEvent e) {
        resCod = reserva.getResCod().toString();
        resFecha = reserva.getResFecha();
        resHoraFinal = reserva.getResHoraFinal();
        resHoraInicio = reserva.getResHoraInicio();
        estCod_Estado = (reserva.getEstado().getEstCod() != null)
            ? reserva.getEstado().getEstCod().toString() : null;
        proInmCod_PropietarioInmueble = (reserva.getPropietarioInmueble()
                                                .getProInmCod() != null)
            ? reserva.getPropietarioInmueble().getProInmCod().toString() : null;
        zcCod_ZonaComun = (reserva.getZonaComun().getZcCod() != null)
            ? reserva.getZonaComun().getZcCod().toString() : null;
        rowSelected = !rowSelected;
    }

    /**
    * <p>Bound to commandLink actionListener in the ui that renders/unrenders
        * the Customer details for editing.</p>
        */
    public void toggleSelected(ActionEvent e) {
        resCod = reserva.getResCod().toString();
        resFecha = reserva.getResFecha();
        resHoraFinal = reserva.getResHoraFinal();
        resHoraInicio = reserva.getResHoraInicio();
        estCod_Estado = (reserva.getEstado().getEstCod() != null)
            ? reserva.getEstado().getEstCod().toString() : null;
        proInmCod_PropietarioInmueble = (reserva.getPropietarioInmueble()
                                                .getProInmCod() != null)
            ? reserva.getPropietarioInmueble().getProInmCod().toString() : null;
        zcCod_ZonaComun = (reserva.getZonaComun().getZcCod() != null)
            ? reserva.getZonaComun().getZcCod().toString() : null;
        rowSelected = !rowSelected;
    }

    public void setReserva(Reserva reserva) {
        this.reserva = reserva;
    }

    public ReservaView getReservaView() {
        return reservaView;
    }

    public void setReservaView(ReservaView reservaView) {
        this.reservaView = reservaView;
    }

    public String getEstCod_Estado() {
        return estCod_Estado;
    }

    public void setEstCod_Estado(String estCod_Estado) {
        this.estCod_Estado = estCod_Estado;
    }

    public String getProInmCod_PropietarioInmueble() {
        return proInmCod_PropietarioInmueble;
    }

    public void setProInmCod_PropietarioInmueble(
        String proInmCod_PropietarioInmueble) {
        this.proInmCod_PropietarioInmueble = proInmCod_PropietarioInmueble;
    }

    public String getZcCod_ZonaComun() {
        return zcCod_ZonaComun;
    }

    public void setZcCod_ZonaComun(String zcCod_ZonaComun) {
        this.zcCod_ZonaComun = zcCod_ZonaComun;
    }

    public Date getResFecha() {
        return resFecha;
    }

    public void setResFecha(Date resFecha) {
        this.resFecha = resFecha;
    }

    public Date getResHoraFinal() {
        return resHoraFinal;
    }

    public void setResHoraFinal(Date resHoraFinal) {
        this.resHoraFinal = resHoraFinal;
    }

    public Date getResHoraInicio() {
        return resHoraInicio;
    }

    public void setResHoraInicio(Date resHoraInicio) {
        this.resHoraInicio = resHoraInicio;
    }

    public String getResCod() {
        return resCod;
    }

    public void setResCod(String resCod) {
        this.resCod = resCod;
    }

    public boolean isRowSelected() {
        return rowSelected;
    }

    public void setRowSelected(boolean rowSelected) {
        this.rowSelected = rowSelected;
    }
}
